<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once(APPPATH."models/anomodel.php");

class anodao extends CI_Model {
	
	function __construct(){
		
		parent::__construct();
		
	}
	
	public function getAnoVigente(){
		try {
			$exec = $this->db->query("call getAno()") or die("Erro: " . $this->db->_error_message());
			if($exec->num_rows() > 0){
				$dados = $exec->row();
				$ano = $dados->ano;
				$this->db->close();
				return $ano;
			}
			$this->db->close();
			return null;
		} catch (Exception $e) {
			try {
				$this->db->close();
			} catch (Exception $a) {
			}
		}
		return null;
	}
	
	
	/**
	** Retorna o table de resultados de ensinos
	**/
	public function getListaAno(){ 
		try{
			$exec = $this->db->query("call getListaAno()") or die("Erro: " . $this->db->_error_message());
			if($exec->num_rows() > 0){
				//return $exec->result();
				
				$lAno = array();
				foreach($exec->result() as $dados){
					$ano = new AnoModel();
					$ano->setAno($dados->ano);
					$ano->setVigente($dados->vigente);				
					//$a = $this->EnsinoModel;				
					array_push($lAno, $ano);
				}
				$this->db->close();
				return $lAno;
			} 
			
			$this->db->close();
			return false;
			
		} catch(Exception $e){
			try{
				$this->db->close();
			} catch(Exception $a){
			}
		}
	}
	
	/**
	 * 
	 * @param unknown_type $id
	 * @param unknown_type $ensino
	 */
	public function inserirAno($ano){
		$saida = null;
		$saida = -2;
		try {
			$exec = $this->db->query("call inserirAnoVigente(".$ano.", 1)") or die("Erro: " . $this->db->_error_message());
			if($exec->num_rows() > 0){
				$dados = $exec->row();
				$tipo = $dados->tipo;
				$valor = $dados->erro;
				if($tipo == "update"){
					$saida = 0;
				}
				else {
					$saida = 0;
				}
			} else {
				$saida = -1;
			}
			$this->db->close();
			return $saida;
		} catch (Exception $e){
			try {
				$this->db->close();
			} catch (Exception $a){
				
			}
			return -5;
		}
	}
	
	public function setAnoVigente($ano){
		try{
			$exec = $this->db->query("call inserirAnoVigente(".$ano.", 1)") or die("Erro : " . $this->db->_error_message());
			if($exec->num_rows() > 0){
				$dados = $exec->row();
				$tipo = $dados->tipo;
				$erro = $dados->erro;
				if($tipo == "update"){
					$this->db->close();
					return true;
				}
			}
			
			$this->db->close();
			return false;
		} catch (Exception $e){
			try {
				$this->db->close();
			} catch (Exception $a){
				
			}
			return false;
		}
	}
}
